import 'dart:io';
import 'package:image_gallery_saver_plus/image_gallery_saver_plus.dart';
import 'package:permission_handler/permission_handler.dart';

class VideoSaverService {
  /// 将视频文件保存到系统相册
  /// [videoPath] 视频文件的本地路径
  /// 返回值：保存成功返回true，失败返回false
  static Future<bool> saveVideoToGallery(String videoPath) async {
    // 1. 检查文件是否存在
    final File videoFile = File(videoPath);
    if (!await videoFile.exists()) {
      print('保存失败：视频文件不存在 - $videoPath');
      return false;
    }

    // 2. 检查并请求存储权限（Android需要）
    // if (Platform.isAndroid) {
    //   final status = await Permission.storage.request();
    //   if (!status.isGranted) {
    //     print('保存失败：需要存储权限');
    //     // return false;
    //   }
    // }

    // 3. iOS需要照片权限（iOS 14+）
    if (Platform.isIOS) {
      // final status = await Permission.photosAddOnly.request();
      final status = await Permission.photos.request();
      if (!status.isGranted) {
        print('保存失败：需要照片权限');
        return false;
      }
    }

    // 4. 保存视频到相册
    try {
      final result = await ImageGallerySaverPlus.saveFile(videoPath);
      bool isSuccess = result['isSuccess'];
      if (isSuccess == true) {
        print('视频已成功保存到相册 - $videoPath');
        return true;
      } else {
        print('保存失败：GallerySaver 返回 $result');
        return false;
      }
    } catch (e) {
      print('保存异常：$e');
      return false;
    }
  }
}
